<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright"
	content="Copyright (c) 2020 IBM Corporation and others. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../../book.css" charset="ISO-8859-1"
	type="text/css">
<title>Adopting 4.20 mechanisms and APIs</title>
</head>
<body>
	<h1>Adopting 4.20 mechanisms and APIs</h1>

	<p>This section describes changes that are required if you are
		trying to change your 4.19 plug-in to adopt the 4.20 mechanisms and
		APIs.</p>

	<ol>
		<li><a href="#pack200Removal">Pack200 artifacts will no longer be generated for Eclipse starting with 4.21 release</a></li>
		<li><a href="#pack200APINoop">Pack200 APIs will no longer generate/use packed artifacts starting with 4.24 release and to be removed in 4.28 release</a></li>
	</ol>

	<hr>

	<!-- ############################################## -->
	<h2>
		1. <a name="pack200Removal">Pack200 artifacts will no longer be generated starting with 4.21 release</a>
	</h2>
	<p>
		<strong>What is affected:</strong> Clients relying on availability of pack200 artifacts (*.pack.gz) in Eclipse Platform p2 repository.
	</p>
	<p>
		<strong>Description:</strong> Clients using pack200 (*.pack.gz) artifacts from Eclipse Platform p2 repository are advised to stop doing so and
		rely on plain old *.jar files instead.
	</p>
	<p>
		<strong>Action required:</strong> If your build system/scripts have strong requirement on existence of *.pack.gz artifacts for Eclipse Platform bits
		do the needed modifications so it can work when these are not around prior to starting to build against 4.21 release.
		
	</p>
	
	<h2>
		2. <a name="pack200APINoop">Pack200 APIs will no longer generate/use packed artifacts starting with 4.24 release and to be removed in 4.28 release</a>
	</h2>
	<p>
		<strong>What is affected:</strong> Callers of pack200 specific APIs to experience pack200 artifacts to no longer be used/fetched/generated/mirrored or dealt with in any other way.
	</p>
	<p>
		<strong>Description:</strong> Since Eclipse 4.16 these APIs have been having inconsistent behavior depending on the running JVM version - pack200 requests were honored if running on pre Java 14 
		and ignored on Java 14 and newer due to removal of the underlying tools from the JVM itself. With this upcoming change pack200 requests will no longer be honored no matter the running JVM version.
	</p>
	<p>
		<strong>Action required:</strong> Migrate to non-deprecated APIs where possible and stop calling the pack200 specific APIs existing solely for packing reasons as they are not going to receive any 
		replacement methods due to technology being removed from the JVM.
		
	</p>


</body>
</html>
